1. Field of the Invention
The present invention relates to the optimization of activities comprised in a workflow, in general, and to the optimization of data management activities comprised in a workflow, in particular.
2. Discussion of Related Art
Workflow management systems (WFMSs) are employed for the modelling and execution of business processes. Business processes specify which piece of work of a network of pieces of work is carried out in which sequence, and which resources are exploited to carry out the pieces of work. Individual pieces of work may be distributed across a multitude of different computer systems connected by some type of network. In a workflow management system, such as the product MQSeries workflow from IBM Cooperation, business processes are modelled as a network of activities. This network of activities is constructed using a directed, acyclic, weighted, colored graph as a meta model. The nodes of the graph represent the activities, which define individual tasks to be carried out. Any other meta model, such as a hierarchical meta model, may be used for constructing process models. In general, each of the activities is associated with a piece of code that implements the appropriate task for that activity. The edges of the graph, or the control links, describe a potential sequence of execution of the activities. Control links are also referred to in the following as links and are represented as arrows; the head of an arrow describes the direction in which the flow of control is moving through the process.
The activity where the control link starts is called the source activity and the activity where the control link ends is called the target activity. An activity may be a source and a target activity for different control links. Activities that have no incoming control link are called start activities, as they start the process. Activities that have no outgoing control link are called end activities, since after their completion the process has ended. An activity may be a start activity as well as an end activity. An activity that has multiple outgoing control links is called a fork activity and an activity with multiple incoming control links is called a join activity.
Different languages are available in order to implement a workflow into a workflow management system, and business process execution language (BPEL) is one such language. BPEL may be described as an XML based language that allows task sharing for a distributed computing environment using a combination of web services.
The term BPEL is sometimes also used to refer to other versions of the language, such as business process execution language for web services (BPEL4WS) or BPELWS. BPEL may also be described as a standard for describing and choreographing business process activities.
WebSphere Business Integration (WBI) products from IBM Cooperation provide an implementation for designing and executing BPEL based business processes. A component of WBI is named WebSphere Process Choreographer (WPC) workflow system.
The activities constituting a workflow can be distinguished basically into two different types.                Data management activities (DMAs): DMAs describe specific nodes in a workflow and express primarily data management activities, such as SQL statements, stored procedures, XQuery expressions, etc.        Non-DMAs: Non-DMAs describe specific nodes in a workflow that are not DMAs. A special type of a non-DMA is a convertible non-DMA. A convertible non-DMA can be converted into a DMA.        
In a WFMS, a workflow is typically executed as a sequence of activities. Thus, each activity is handled one after the other. The execution of several DMAs one after the other can, however, be very time consuming especially if these DMAs relate to large amounts of data distributed over multiple computer systems of a network.
There is therefore a need for a method and system by which the overall performance of a workflow that comprises DMAs can be increased.